package com.rocket.demo3;

import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.common.message.Message;

import java.util.Scanner;

/**
 * 延时模式
 * 比如电商里，提交了一个订单就可以发送一个延时消息，1h后去检查这个订单的状态，如果还是未付款就取消订单释放库存。
 */
public class Producer3 {
    public static void main(String[] args) throws Exception {
        DefaultMQProducer producer3 = new DefaultMQProducer("producer3");
        producer3.setNamesrvAddr("192.168.126.137:9876");
        producer3.start();
        while (true){
            System.out.println("输入消息,用逗号分隔多条消息:");
            String[] msgs = new Scanner(System.in).nextLine().split(",");
            for (String msg:msgs){
                Message message = new Message("Topic3", "*", msg.getBytes());

                //producer3.send(message,10000);//这是发送超时,不是延时
                message.setDelayTimeLevel(3);//延时,指的是消费者延时读取
                producer3.send(message);
            }
        }
    }
}
